home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Environments / Small Eiffel 0.4.8 / misc / SmallEiffel.FAQ < prev    next >
Text File  |  1997-01-03  |  5KB  |  113 lines

  1. Frequently Asked Questions about SmallEiffel :
  2. --------------------------------------------
  3.  
  4. Q01: Why the name SmallEiffel ?
  5.  
  6. Q02: What about the version numbering ?
  7.  
  8. Q03: Is it possible to have the complete Eiffel source of 
  9.      SmallEiffel ?
  10.  
  11. Q04: Is it possible to use SmallEiffel for large/commercial
  12.      applications ?
  13.  
  14. Q05: Is it possible to do incremental compilation with 
  15.      SmallEiffel ?
  16.  
  17. Q06: Electronic Information available for SmallEiffel.
  18.  
  19. Q07: What can I do when the compiler (compile_to_c) emits
  20.      a strange Warning like :
  21.      ****** Warning : Call on a Void or a bad target ...
  22.      ... Compiler (SmallEiffel/cc/gcc) may fail because of
  23.      System Validity Problem. Sorry.
  24.      Usually, the C generated code cannot be compiled.
  25.  
  26. Q08: What about the Guru section ?
  27.  
  28. Q09: Is it difficult to switch from ISE to SmallEiffel ?
  29.  
  30. ----------------------------------------
  31.  
  32. A01: It comes from the mixing of the names Smalltalk and Eiffel.
  33.      Our aim is to do an Eiffel environment as easy to use
  34.      as Smalltalk and as safe as Eiffel.
  35.  
  36. A02: Version numbering uses negative numbers. Usually, the
  37.      greater the number, the more advanced is the version. The
  38.      first distributed version was numbered -0.99 
  39.      Version number -0.0 should correspond to the very best 
  40.      Eiffel compiler on this planet :-)
  41.  
  42. A03: No. SmallEiffel distribution already includes a lot of Eiffel
  43.      source files used to write the SmallEiffel compiler itself.
  44.      For example, the class DICTIONARY is the one used by the 
  45.      SmallEiffel compiler to store features and all kinds of 
  46.      symbolic information. Class FILE_TOOLS, STD_FILE_READ and 
  47.      STD_FILE_WRITE are also used by the compiler to read Eiffel
  48.      source code and to write and compare C files. The full C 
  49.      source code of the compiler is free. SmallEiffel may one day
  50.      become a commercial product (if someone wants to buy it :-).
  51.      Even if SmallEiffel becomes a commercial product, the C source
  52.      file will remain in public domain and its new owner will have
  53.      to give the C code of further releases.
  54.  
  55. A04: It is possible to use SmallEiffel for a large application. An
  56.      Eiffel compiler is a really big project and SmallEiffel itself 
  57.      is fully written in (Small)Eiffel. SmallEiffel is completely free
  58.      and any private compagny can use SmallEiffel freely, and distribute
  59.      freely the products made with it. They do not have to pay royalties.
  60.      However, SmallEiffel doesn't come with any varranty (please read
  61.      the DISCLAIMER file in the distribution). Nonetheless, if you do 
  62.      want a warranty and/or an extended support, you will have to pay
  63.      a reasonable fee (each year) for it. It is also possible to discuss 
  64.      specific needs you may have in your business. Please contact 
  65.      Dominique COLNET at colnet@loria.fr for more information. [You 
  66.      may want to do so too if you want to financially support the 
  67.      SmallEiffel team and help them keep up the good work !]."
  68.  
  69. A05: Before release -0.91 the answer was no. Whith the current 
  70.      release, the answer is now YES. Because of the 
  71.      SmallEiffel type inference mechanism, SmallEiffel always
  72.      produces all needed C files from scratch. As old C files
  73.      are automatically saved, only modified C files are 
  74.      recompiled. See SmallEiffel/man/compile.hlp for details.
  75.  
  76. A06: The official SmallEiffel page is not yet available. We 
  77.      recommend Geoff Eldridge's page for Eiffel information :
  78.      http://www.progsoc.uts.edu.au/~geldridg/
  79.      This very nice page also contains indexed information
  80.      for SmallEiffel : 
  81.      ~geldridg/compiler/smalleiffel/index.html
  82.  
  83. A07: Such a warning gives you an important information about 
  84.      the validity of the program you wrote. The problem is 
  85.      that you are using a kind of object which can never be 
  86.      created in the living code. The living code is the Eiffel
  87.      code you can reach starting from the root procedure of the
  88.      system. In such a case, there is no creation call in the 
  89.      living code for the corresponding type. This call is thus 
  90.      bound to be a call on a Void target at run time. One 
  91.      possible workaround is to add one creation call in the living
  92.      code (the best way to do it is to add a creation call using
  93.      a local variable in the starting procedure).
  94.  
  95. A08: Some feature section of the SmallEiffel library are labelled
  96.      with : 
  97.                feature -- The Guru section :
  98.      If you really need your software to be portable on other Eiffel
  99.      compilers, do not use those features.
  100.  
  101. A09: If your original ISE software only uses simple types like 
  102.      INTEGER, STRING, ARRAY, BOOLEAN, CHARACTER and DOUBLE, it is
  103.      usually very simple. It is a little bit difficult for simple 
  104.      input/output (used with predefined `io') because some features 
  105.      have different names. If your original software heavily relies
  106.      on the EiffelBase library, it may be very difficult. For 
  107.      example, one must keep in mind that SmallEiffel.ARRAY inherit
  108.      SmallEiffel.COLLECTION and that ISE library also have a class
  109.      COLLECTION. By the way, subclasses of ISE.COLLECTION cannot be
  110.      used. The ISE.LINKED_LIST can be used in conjunction with 
  111.      SmallEiffel.ARRAY because ISE.LINKED_LIST do not inherit 
  112.      ISE.COLLECTION (no clash).
  113.